﻿// code03050300.cpp : 指针
// 指针和数组

#include <iostream>
using namespace std;

int main()
{
    string nums[] = { "one","two","three" };
    string* p = &nums[0];
    string* p2 = nums;          //p和p2等价，因为数组名可表示为该数组的首元素地址

    int ia[] = { 0,1,2,3,4,5,6,7,8,9 };
    auto ia2(ia);               //ia2的类型为int*
    ia2 = 42;                   //报错！ia2是数组首元素的地址，无法直接赋值

    //当使用decltype时，生成是数组，不是指针
    decltype(ia) ia3 = { 0,1,2,3,4,5,6,7,8,9 };//ia3是数组
    ia3 = p;                    //报错！ia3不是指针
    ia3[4] = 42;


    return 0;
}


